package com.mdb.open.epay.feign;

import com.mdb.bc.api.data.ListResultEx;
import com.mdb.bc.api.data.ResultEx;
import com.mdb.open.common.enums.App;
import com.mdb.open.epay.feign.dto.*;
import com.mdb.open.epay.feign.fallback.OutreachFallbackFactory;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 外联服务
 *
 * @author liuyi
 * @Date 2019-11-15
 */
@FeignClient(value = "cnt-outreach", fallbackFactory = OutreachFallbackFactory.class)
public interface OutreachClient {
    /**
     * 核心短信發送
     * @param dto
     * @return
     */
    @PostMapping(value = "/core_api/9951000", headers = {"app=" + App.EPAY, "content-type=application/json"})
    @ApiOperation("9951000-核心短信发送")
    ResultEx requestCoreApi9951000(@RequestBody SMS_9951000 dto);


    /**
     * 节假日查询 0359907
     */
    @PostMapping(value = "/core_api/0359907", headers = {"app=" + App.EPAY, "content-type=application/json"})
    @ApiOperation("0359907-节假日查询")
    ListResultEx<HST_0359907_Resp> requestCoreApi0359907(@RequestBody HST_0359907 dto);

    /**
     * 一对一公共记账接口 0351430
     */
    @PostMapping(value = "/core_api/0351430", headers = {"app=" + App.EPAY, "content-type=application/json"})
    @ApiOperation("0351430-一对一公共记账接口")
    ResultEx<HST_0351430_Resp> requestCoreApi0351430(@RequestBody HST_0351430 dto);

    /**
     * 交易查证 0359902
     */
    @PostMapping(value = "/core_api/0359902", headers = {"app=" + App.EPAY, "content-type=application/json"})
    @ApiOperation("0359902-交易查证")
    ResultEx<HST_0359902_Resp> requestCoreApi0359902(@RequestBody HST_0359902 dto);


    /**
     * 查询客户信息 0350201
     */
    @PostMapping(value = "/core_api/0350201", headers = {"app=" + App.EPAY, "content-type=application/json"})
    @ApiOperation("0350201-查询客户信息")
    ResultEx<HST_0350201_Resp> requestCoreApi0350201(@RequestBody HST_0350201 dto);

    /**
     * 客户账号查询接口 0350202
     */
    @PostMapping(value = "/core_api/0350202", headers = {"app=" + App.EPAY, "content-type=application/json"})
    @ApiOperation("0350202-客户账号查询")
    ResultEx<HST_0350202_Resp> requestCoreApi0350202(@RequestBody HST_0350202 dto);

    //一对一公共记账接口试算 0351431

    /**
     * 撤销/冲正接口
     */
    @PostMapping(value = "/core_api/9998889", headers = {"app=" + App.EPAY, "content-type=application/json"})
    @ApiOperation("9998889-核心交易冲正")
    ResultEx<HST_9998889_Resp> requestCoreApi9998889(@RequestBody HST_9998889 dto);
    //汇率信息接口 9994317
    //对账文件下载接口


}
